class DepositosController < ApplicationController

  filter_access_to :all, :attribute_check => true, :load_method => :get_chain

  def index
    @depositos = @caracterizacao.depositos
    redirect_to :action => 'new' if @depositos.empty?
  end

  def new
    @deposito = @caracterizacao.depositos.new
  end

  def create
    @deposito = @caracterizacao.depositos.new(params[:deposito])
    if @deposito.save
      flash[:notice] = "Depósito salvo com sucesso"
      redirect_to :action => 'index'
    else
      render :action => 'new'
    end
  end

  def update
    if @deposito.update_attributes(params[:deposito])
      flash[:notice] = 'Depósito atualizado com sucesso.'
      redirect_to [@pleito, :caracterizacao, :depositos]
    else
      render :action => "edit"
    end
  end

  def destroy
    @deposito.destroy
    flash[:notice] = 'Depósito excluído com sucesso.'
    redirect_to [@pleito, :caracterizacao, :depositos]
  end

  private

  def get_chain
    params[:id] ? get_not_nested : get_nested
  end

  def get_not_nested
    @deposito = Deposito.find(params[:id])
    @caracterizacao = @deposito.caracterizacao
    @pleito = @caracterizacao.pleito
  end

  def get_nested
    @pleito = Pleito.find(params[:pleito_id])
    @caracterizacao = @pleito.caracterizacao
    @pleito
  end

end
